DNSE VN301!, SMA & EMA Cross StrategyDiscover the tailored Pinescript to trade VN30F1M Future Contracts intraday, the strategy focuses on SMA & EMA crosses to identify potential entry/exit points. The script closes all positions by 14:25 to avoid holding any contracts overnight.
HNX:VN301!
www.tradingview.com
Setting & Backtest result:
1-minute chart, initial capital of VND 100 million, entering 4 contracts per time, backtest result from Jan-2024 to Nov-2024 yielded a return over 40%, executed over 1,000 trades (average of 4 trades/day), winning trades rate ~ 30% with a profit factor of 1.10.
The default setting of the script:
A decent optimization is reached when SMA and EMA periods are set to 60 and 15 respectively while the Long/Short stop-loss level is set to 20 ticks (2 points) from the entry price.
Entry & Exit conditions:
Long signals are generated when ema(15) crosses over sma(60) while Short signals happen when ema(15) crosses under sma(60). Long orders are closed when ema(15) crosses under sma(60) while Short orders are closed when ema(15) crosses over sma(60).
Exit conditions happen when (whichever came first):
Another Long/Short signal is generated
The Stop-loss level is reached
The Cut-off time is reached (14:25 every day)
*Disclaimers:
Futures Contracts Trading are subjected to a high degree of risk and price movements can fluctuate significantly. This script functions as a reference source and should be used after users have clearly understood how futures trading works, accessed their risk tolerance level, and are knowledgeable of the functioning logic behind the script.
Users are solely responsible for their investment decisions, and DNSE is not responsible for any potential losses from applying such a strategy to real-life trading activities. Past performance is not indicative/guarantee of future results, kindly reach out to us should you have specific questions about this script.
---------------------------------------------------------------------------------------
Khám phá Pinescript được thiết kế riêng để giao dịch Hợp đồng tương lai VN30F1M trong ngày, chiến lược tập trung vào các đường SMA & EMA cắt nhau để xác định các điểm vào/ra tiềm năng. Chiến lược sẽ đóng tất cả các vị thế trước 14:25 để tránh giữ bất kỳ hợp đồng nào qua đêm.
Thiết lập & Kết quả backtest:
Chart 1 phút, vốn ban đầu là 100 triệu đồng, vào 4 hợp đồng mỗi lần, kết quả backtest từ tháng 1/2024 tới tháng 11/2024 mang lại lợi nhuận trên 40%, thực hiện hơn 1.000 giao dịch (trung bình 4 giao dịch/ngày), tỷ lệ giao dịch thắng ~ 30% với hệ số lợi nhuận là 1,10.
Thiết lập mặc định của chiến lược:
Đạt được một mức tối ưu ổn khi SMA và EMA periods được đặt lần lượt là 60 và 15 trong khi mức cắt lỗ được đặt thành 20 tick (2 điểm) từ giá vào.
Điều kiện Mở và Đóng vị thế:
Tín hiệu Long được tạo ra khi ema(15) cắt trên sma(60) trong khi tín hiệu Short xảy ra khi ema(15) cắt dưới sma(60). Lệnh Long được đóng khi ema(15) cắt dưới sma(60) trong khi lệnh Short được đóng khi ema(15) cắt lên sma(60).
Điều kiện đóng vị thể xảy ra khi (tùy điều kiện nào đến trước):
Một tín hiệu Long/Short khác được tạo ra
Giá chạm mức cắt lỗ
Lệnh chưa đóng nhưng tới giờ cut-off (14:25 hàng ngày)
*Tuyên bố miễn trừ trách nhiệm:
Giao dịch hợp đồng tương lai có mức rủi ro cao và giá có thể dao động đáng kể. Chiến lược này hoạt động như một nguồn tham khảo và nên được sử dụng sau khi người dùng đã hiểu rõ cách thức giao dịch hợp đồng tương lai, đã đánh giá mức độ chấp nhận rủi ro của bản thân và hiểu rõ về logic vận hành của chiến lược này.
Người dùng hoàn toàn chịu trách nhiệm về các quyết định đầu tư của mình và DNSE không chịu trách nhiệm về bất kỳ khoản lỗ tiềm ẩn nào khi áp dụng chiến lược này vào các hoạt động giao dịch thực tế. Hiệu suất trong quá khứ không chỉ ra/cam kết kết quả trong tương lai, vui lòng liên hệ với chúng tôi nếu bạn có thắc mắc cụ thể về chiến lược giao dịch này.
Cerca negli script per "the script"
Backtesting ModuleDo you often find yourself creating new 'strategy()' scripts for each trading system? Are you unable to focus on generating new systems due to fatigue and time loss incurred in the process? Here's a potential solution: the 'Backtesting Module' :)
INTRODUCTION
Every trading system is based on four basic conditions: long entry, long exit, short entry and short exit (which are typically defined as boolean series in Pine Script).
If you can define the conditions generated by your trading system as a series of integers, it becomes possible to use these variables in different scripts in efficient ways. (Pine Script is a convenient language that allows you to use the integer output of one indicator as a source in another.)
The 'Backtesting Module' is a dynamic strategy script designed to adapt to your signals. It boasts two notable features:
⮞ It produces a backtest report using the entry and exit variables you define.
⮞ It not only serves for system testing but also to combine independent signals into a single system. (This functionality enables to create complex strategies and report on their success!)
The module tests Golden and Death cross signals by default, when you enter your own conditions the default signals will be neutralized. The methodology is described below.
PREPARATION
There are three simple steps to connect your own indicator to the Module.
STEP 1
Firstly, you must define entry and exit variables in your own script. Let's elucidate it with a straightforward example. Consider a system generating long and short signals based on the intersections of two moving averages. Consequently, our conditions would be as follows:
// Signals
long = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
short = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
Now, the question is: How can we convert boolean variables into integer variables? The answer is conditional ternary block, defined as follows:
// Entry & Exit
long_entry = long ? 1 : 0
long_exit = short ? 1 : 0
short_entry = short ? 1 : 0
short_exit = long ? 1 : 0
The mechanics of the Entry & Exit variables are simple. The variable takes on a value of 1 when your trading system generates the signal and if your system does not produce any signal, variable returns 0. In this example, you see how exit signals can be generated in a trading system that only contains entry signals. If you have a system with original exit signals, you can also use them directly. (Please mind the NOTES section below).
STEP 2
To utilize the Entry & Exit variables as source in another script, they must be plotted on the chart. Therefore, the final detail to include in the script containing your trading system would be as follows:
// Plot The Output
plot(long_entry, "Long Entry", display=display.data_window, editable=false)
plot(long_exit, "Long Exit", display=display.data_window, editable=false)
plot(short_entry, "Short Entry", display=display.data_window, editable=false)
plot(short_exit, "Short Exit", display=display.data_window, editable=false)
STEP 3
Now, we are ready to test the system! Load the Backtesting Module indicator onto the chart along with your trading system/indicator. Then set the outputs of your system (Long Entry, Long Exit, Short Entry, Short Exit) as source in the module. That's it.
FEATURES & ORIGINALITY
⮞ Primarily, this script has been created to provide you with an easy and practical method when testing your trading system.
⮞ I thought it might be nice to visualize a few useful results. The Backtesting Module provides insights into the outcomes of both long and short trades by computing the number of trades and the success percentage.
⮞ Through the 'Trade' parameter, users can specify the market direction in which the indicator is permitted to initiate positions.
⮞ Users have the flexibility to define the date range for the test.
⮞ There are optional features allowing users to plot entry prices on the chart and customize bar colors.
⮞ The report and the test date range are presented in a table on the chart screen. The entry price can be monitored in the data window.
⮞ Note that results are based on realized returns, and the open trade is not included in the displayed results. (The only exception is the 'Unrealized PNL' result in the table.)
STRATEGY SETTINGS
The default parameters are as follows:
⮞ Initial Balance : 10000 (in units of currency)
⮞ Quantity : 10% of equity
⮞ Commission : 0.04%
⮞ Slippage : 0
⮞ Dataset : All bars in the chart
For a realistic backtest result, you should size trades to only risk sustainable amounts of equity. Do not risk more than 5-10% on a trade. And ALWAYS configure your commission and slippage parameters according to pessimistic scenarios!
NOTES
⮞ This script is intended solely for development purposes. And it'll will be available for all the indicators I publish.
⮞ In this version of the module, all order types are designed as market orders. The exit size is the sum of the entry size.
⮞ As your trading conditions grow more intricate, you might need to define the outputs of your system in alternative ways. The method outlined in this description is tailored for straightforward signal structures.
⮞ Additionally, depending on the structure of your trading system, the backtest module may require further development. This encompasses stop-loss, take-profit, specific exit orders, quantity, margin and risk management calculations. I am considering releasing improvements that consider these options in future versions.
⮞ An example of how complex trading signals can be generated is the OTT Collection. If you're interested in seeing how the signals are constructed, you can use the link below.
THANKS
Special thanks to PineCoders for their valuable moderation efforts.
I hope this will be a useful example for the TradingView community...
DISCLAIMER
This is just an indicator, nothing more. It is provided for informational and educational purposes exclusively. The utilization of this script does not constitute professional or financial advice. The user solely bears the responsibility for risks associated with script usage. Do not forget to manage your risk. And trade as safely as possible. Best of luck!
TradeChartist Donchian Channels Breakout Strategy™TradeChartist Donchian Channels Breakout Strategy is the strategy backtester version of ™TradeChartist Donchian Channels Breakout Filter .
===================================================================================================================
Features of ™TradeChartist Donchian Channels Breakout Strategy
========================================================
Option to plot Donchian Channels of user preferred length, based on the Source price in addition to High/Low Donchian Channels.
Generates trade entries based on user preferred Breakout Price. For example, if the user prefers HL2 as breakout price, irrespective of the Donchian Channels type, trade entries are generated only when hl2 price (average of high/low) breaks out of the upper or lower band.
Option to plot background colour based on Breakout trend. The bull zones are filled with green background, the Bear zones are filled with red background and the bar that broke out is filled with orange background.
Option to colour price bars using Donchian Channels price trend. The Donchian Channels basis line is plotted using the same colours as coloured bars as default.
Note: This script does not repaint. To use the script for trade entries, wait for the bar close without Backtester or Strategy entries (with Backtester) and use a second confirmator (includes fundamentals) based on asset type as some markets require users to have good pulse on the fundamentals as trading by Technicals/price action dynamic alone may not be safe.
Note: Trend Based Stochastic of the same DC Length can be used from ™TradeChartist Risk Meter for Trade Confirmations too.
===================================================================================================================
Best Practice: Test with different settings first using Paper Trades before trading with real money
===================================================================================================================
This is not a free to use strategy. Get in touch with me (PM me directly if you would like trial access to test the strategy)
Premium Scripts - Trial access and Information
Trial access offered on all Premium scripts.
PM me directly to request trial access to the scripts or for more information.
===================================================================================================================
3Commas DCA Bot Strategy v1.0Introduction
The strategy attempts to implement a majority all of the settings found on the 3Commas DCA Bot setting page that can be implemented within a TradingView indicator. Specifically, it will implement the "Open new trade ASAP" and "Trading View Custom Signal" deal start conditions. In this way, you can leverage the power of TradingView's backtester to model your settings and analysis past performance as well as leverage TradingView's alert notification subsystem to send Deal Start and Close signals to 3Commas using almost any of the thousands of scripts found in the Public Library (see "What does it do and how does it do it?" section below for more information on how to do this using the RSI indicator as an example).
How is it original and useful?
This strategy is unique in that it's the only one (as of the initial publications) that can handle 28 out of 32 bot settings (88% coverage) that are found on the 3Commas bot settings page. In addition, because it is a TradingView script, you will benefit from the following:
Model your bot's configuration using the backtester on any timeframe and evaluate its performance using the chart's history.
View a table of detailed statistics pertaining to deals started and completed, win/loss rates, daily P&L, true max drawdown, and detailed statistics on bars in deal along with safety orders filled.
View a table of "Used amount for each step" as presented in 3Commas as well.
Ability to link to almost any TradingView chart indicator that provides a single data point for buy/sell signals.
Make use of the 3Commas TA Start Conditions indicator to emulate the 3Commas built-in indicators for further performance evaluation with the backtester.
How does it compare to other scripts in the Public Library?
This strategy offers a very detailed, comprehensive settings and maybe the only one (as of the initial publication) that can handle 28 out of the 32 bot settings that are found on the 3Commas bot settings page (that can be handled within TradingView, because some cannot be modeled due to chart and language constraints). Specifically, the following 3Commas bot settings and inputs are addressed with asterisks denoting specific limitation due to TradingView's platform architecture and/or constraints:
Main settings
✅ Name
❌ Exchange* (Not handled since it is inherited from chart)
⚠ Bot type* (Only Single-pair because you simply apply the indicator to as many pairs you desire in separate charts to simulate a Multi-pair setting)
Pairs
❌ Pairs* (Not handled since it is inheriting the symbol from the chart)
Strategy
✅ Strategy
❌ Profit currency* (Not handled since there is no equivalence in TradingView)
✅ Base order size / unit
✅ Safety order size / unit
✅ Start order type
Deal start condition
⚠ TradingView* (You can modify the "Technical Rating" indicator by TradingView to output a signal yourself like @TheTradingParrot has done in the TV signal for DCA backtest script)
⚠ QFL* (See Quickfingers Luc's Base Breaking Strategy v2.5 - 3Commas Edition for an alternative)
❌ Manually/API* (Not handled since there is no equivalence in TradingView)
✅ Trading View custom signal
✅ Open new trade asap
Take profit
✅ Take profit (%)
✅ Take profit type
✅ Trailing
⚠ Trailing deviation* (modified to handle TradingView's broker emulator properly)
Stop loss
✅ Stop Loss (%)
✅ Stop Loss action
⚠ Stop Loss timeout* (modified to use "bars" as the unit of measure)
Safety orders
✅ Max safety trades count (a total of 100 safety orders are supported!)
⚠ Max active safety trades count* (Not handled since there is no equivalence in TradingView)
✅ Price deviation to open safety orders (% from initial order)
✅ Safety order volume scale
✅ Safety order step scale
Advanced settings
✅ Don't start deal(s) if the daily volume is less than
✅ Minimum price to open deal
✅ Maximum price to open deal
⚠ Deal start delay (QFL and standard TV signals only)* (modified to use "bars" as the unit of measure)
✅ Cooldown between deals
✅ Open deals & stop
Close deal after timeout
⚠ The time after which, deal will be closed automatically* (modified to use "bars" as the unit of measure)
In addition to the above inputs, the script will also support the same output data points that are found on the bot settings page, which are:
Assistant
✅ Balance
✅ Max amount for bot usage (Based on current rate)
✅ Max safety order price deviation
✅ % of available balance to be used by the bot
Table (Used amount for each step)
✅ Order No.
✅ Deviation %
✅ Order Size (Base currency)
✅ Order Volume (Quote currency)
✅ Price
✅ Average price
✅ Required price
✅ Required change
✅ Total Size (Base currency)
✅ Total Volume (Quote currency)
What does it do and how does it do it?
When applied to the chart for the first time, the default settings will work to execute the "Open new trade asap" deal start condition using a take profit of 4%, a base order size of 1.335% of equity (initial capital + net profit), a safety order size of 2.003% of equity (initial capital + net profit), a safety order volume scale of 1.5, a safety order step scale of 1.21, and a max safety trades count of 8. With these settings, as you scroll through the chart's history you should see price action crossing the DCA layers (denoted with blue triangles), and a green take-profit price line will render (with green triangle denoting the crossings). Lastly, in the upper-right corner of the chart the table of DCA statistics will render showing you all the gathered data that took place since the chart's starting history until the current time.
Using the "TV Custom Signal" section will allow you to "link" other chart indicators to supply "Start" and "Close" signals for the script. For example, here's how you can use the standard RSI indicator to generate an entry signal:
1) Add the stock RSI indicator and configure it to your desire.
2) Select the "RSI" indicator in the "Chart/Indicator Data Point" input.
3) Select "Chart/Indicator Data Point" in the "Start Deal When" input.
4) Select "Less Than" in the "Is" input.
5) Select "Custom Value(s)" in the "The Value Of" input.
6) Enter "25" in the "Custom Value 1 (Single or Lower Bound)" input.
7) Select "Trading View Custom Signal" in the "Open new trade" input (in the DEAL START CONDITION section).
8) Lastly, check the checkbox with a horizontal straight line above the "Start Deal When" input.
This means that the indicator will start a deal when the "RSI indicator" is "Less Than" the value of "25".
Strategy Results
The default settings are designed to ensure that the indicator will render chart elements when first loaded as well as to allow the backtester to gather order executions and display performance summary. The chart above is is using $10,000 initial capital, a commission rate of 0.1% for both entries and exits, and a 1 tick slippage setting. It is also using 3.22581% of the equity for the Base Order Size, 6.45161% of equity for the first Safety Order Size. The Maximum Safety Trade Count is 4 with a Safety Order Volume Scale of 2, a Safety Order Step Scale of 1.53, Price Deviation To Option Safety Orders at 5.3, and a take profit of 4.5% with Trailing turned on at a deviation of 1.5%. All other settings are defaults.
It is recommended that the indicator be "tuned" for your specific market in order to best implement the strategy and obtain better desirable results. You do so by using the backtester and statistics table and observe the output values and learn how the indicator is performing in the chart history. Using this information, you can adjust the settings accordingly until you find the settings acceptable to your trading goals and risk tolerance.
Always keep in mind that past performance may not be indicative of future results. Settings that seem favorable for one market may be found to be disastrous in another. Therefore, do take the time needed to understand how the settings will behave with the given chart symbol.
Enjoy! 😊👍
How to obtain access to the script?
You have two choices:
Use the "Website" link below to obtain access to this indicator, or
Send us a private message (PM) in TradingView itself.
888 BOT #backtest█ 888 BOT #backtest
This is an Expert Advisor 'EA' or Automated trading script for ‘longs’ and ‘shorts’, which uses only a Take Profit or, in the worst case, a Stop Loss to close the trade.
It's a much improved version of the previous ‘Repanocha’. It doesn`t use 'Trailing Stop' or 'security()' functions (although using a security function doesn`t mean that the script repaints) and all signals are confirmed, therefore the script doesn`t repaint in alert mode and is accurate in backtest mode.
Apart from the previous indicators, some more and other functions have been added for Stop-Loss, re-entry and leverage.
It uses 8 indicators, (many of you already know what they are, but in case there is someone new), these are the following:
1. Jurik Moving Average
It's a moving average created by Mark Jurik for professionals which eliminates the 'lag' or delay of the signal. It's better than other moving averages like EMA, DEMA, AMA or T3.
There are two ways to decrease noise using JMA. Increasing the 'LENGTH' parameter will cause JMA to move more slowly and therefore reduce noise at the expense of adding 'lag'
The 'JMA LENGTH', 'PHASE' and 'POWER' parameters offer a way to select the optimal balance between 'lag' and over boost.
Green: Bullish, Red: Bearish.
2. Range filter
Created by Donovan Wall, its function is to filter or eliminate noise and to better determine the price trend in the short term.
First, a uniform average price range 'SAMPLING PERIOD' is calculated for the filter base and multiplied by a specific quantity 'RANGE MULTIPLIER'.
The filter is then calculated by adjusting price movements that do not exceed the specified range.
Finally, the target ranges are plotted to show the prices that will trigger the filter movement.
Green: Bullish, Red: Bearish.
3. Average Directional Index (ADX Classic) and (ADX Masanakamura)
It's an indicator designed by Welles Wilder to measure the strength and direction of the market trend. The price movement is strong when the ADX has a positive slope and is above a certain minimum level 'ADX THRESHOLD' and for a given period 'ADX LENGTH'.
The green color of the bars indicates that the trend is bullish and that the ADX is above the level established by the threshold.
The red color of the bars indicates that the trend is down and that the ADX is above the threshold level.
The orange color of the bars indicates that the price is not strong and will surely lateralize.
You can choose between the classic option and the one created by a certain 'Masanakamura'. The main difference between the two is that in the first it uses RMA () and in the second SMA () in its calculation.
4. Parabolic SAR
This indicator, also created by Welles Wilder, places points that help define a trend. The Parabolic SAR can follow the price above or below, the peculiarity that it offers is that when the price touches the indicator, it jumps to the other side of the price (if the Parabolic SAR was below the price it jumps up and vice versa) to a distance predetermined by the indicator. At this time the indicator continues to follow the price, reducing the distance with each candle until it is finally touched again by the price and the process starts again. This procedure explains the name of the indicator: the Parabolic SAR follows the price generating a characteristic parabolic shape, when the price touches it, stops and turns (SAR is the acronym for 'stop and reverse'), giving rise to a new cycle. When the points are below the price, the trend is up, while the points above the price indicate a downward trend.
5. RSI with Volume
This indicator was created by LazyBear from the popular RSI.
The RSI is an oscillator-type indicator used in technical analysis and also created by Welles Wilder that shows the strength of the price by comparing individual movements up or down in successive closing prices.
LazyBear added a volume parameter that makes it more accurate to the market movement.
A good way to use RSI is by considering the 50 'RSI CENTER LINE' centerline. When the oscillator is above, the trend is bullish and when it is below, the trend is bearish.
6. Moving Average Convergence Divergence (MACD) and (MAC-Z)
It was created by Gerald Appel. Subsequently, the histogram was added to anticipate the crossing of MA. Broadly speaking, we can say that the MACD is an oscillator consisting of two moving averages that rotate around the zero line. The MACD line is the difference between a short moving average 'MACD FAST MA LENGTH' and a long moving average 'MACD SLOW MA LENGTH'. It's an indicator that allows us to have a reference on the trend of the asset on which it is operating, thus generating market entry and exit signals.
We can talk about a bull market when the MACD histogram is above the zero line, along with the signal line, while we are talking about a bear market when the MACD histogram is below the zero line.
There is the option of using the MAC-Z indicator created by LazyBear, which according to its author is more effective, by using the parameter VWAP (volume weighted average price) 'Z-VWAP LENGTH' together with a standard deviation 'STDEV LENGTH' in its calculation.
7. Volume Condition
Volume indicates the number of participants in this war between bulls and bears, the more volume the more likely the price will move in favor of the trend. A low trading volume indicates a lower number of participants and interest in the instrument in question. Low volumes may reveal weakness behind a price movement.
With this condition, those signals whose volume is less than the volume SMA for a period 'SMA VOLUME LENGTH' multiplied by a factor 'VOLUME FACTOR' are filtered. In addition, it determines the leverage used, the more volume, the more participants, the more probability that the price will move in our favor, that is, we can use more leverage. The leverage in this script is determined by how many times the volume is above the SMA line.
The maximum leverage is 8.
8. Bollinger Bands
This indicator was created by John Bollinger and consists of three bands that are drawn superimposed on the price evolution graph.
The central band is a moving average, normally a simple moving average calculated with 20 periods is used. ('BB LENGTH' Number of periods of the moving average)
The upper band is calculated by adding the value of the simple moving average X times the standard deviation of the moving average. ('BB MULTIPLIER' Number of times the standard deviation of the moving average)
The lower band is calculated by subtracting the simple moving average X times the standard deviation of the moving average.
the band between the upper and lower bands contains, statistically, almost 90% of the possible price variations, which means that any movement of the price outside the bands has special relevance.
In practical terms, Bollinger bands behave as if they were an elastic band so that, if the price touches them, it has a high probability of bouncing.
Sometimes, after the entry order is filled, the price is returned to the opposite side. If price touch the Bollinger band in the same previous conditions, another order is filled in the same direction of the position to improve the average entry price, (% MINIMUM BETTER PRICE ': Minimum price for the re-entry to be executed and that is better than the price of the previous position in a given %) in this way we give the trade a chance that the Take Profit is executed before. The downside is that the position is doubled in size. 'ACTIVATE DIVIDE TP': Divide the size of the TP in half. More probability of the trade closing but less profit.
█ STOP LOSS and RISK MANAGEMENT.
A good risk management is what can make your equity go up or be liquidated.
The % risk is the percentage of our capital that we are willing to lose by operation. This is recommended to be between 1-5%.
% Risk: (% Stop Loss x % Equity per trade x Leverage) / 100
First the strategy is calculated with Stop Loss, then the risk per operation is determined and from there, the amount per operation is calculated and not vice versa.
In this script you can use a normal Stop Loss or one according to the ATR. Also activate the option to trigger it earlier if the risk percentage is reached. '% RISK ALLOWED'
'STOP LOSS CONFIRMED': The Stop Loss is only activated if the closing of the previous bar is in the loss limit condition. It's useful to prevent the SL from triggering when they do a ‘pump’ to sweep Stops and then return the price to the previous state.
█ BACKTEST
The objective of the Backtest is to evaluate the effectiveness of our strategy. A good Backtest is determined by some parameters such as:
- RECOVERY FACTOR: It consists of dividing the 'net profit' by the 'drawdown’. An excellent trading system has a recovery factor of 10 or more; that is, it generates 10 times more net profit than drawdown.
- PROFIT FACTOR: The ‘Profit Factor’ is another popular measure of system performance. It's as simple as dividing what win trades earn by what loser trades lose. If the strategy is profitable then by definition the 'Profit Factor' is going to be greater than 1. Strategies that are not profitable produce profit factors less than one. A good system has a profit factor of 2 or more. The good thing about the ‘Profit Factor’ is that it tells us what we are going to earn for each dollar we lose. A profit factor of 2.5 tells us that for every dollar we lose operating we will earn 2.5.
- SHARPE: (Return system - Return without risk) / Deviation of returns.
When the variations of gains and losses are very high, the deviation is very high and that leads to a very poor ‘Sharpe’ ratio. If the operations are very close to the average (little deviation) the result is a fairly high 'Sharpe' ratio. If a strategy has a 'Sharpe' ratio greater than 1 it is a good strategy. If it has a 'Sharpe' ratio greater than 2, it is excellent. If it has a ‘Sharpe’ ratio less than 1 then we don't know if it is good or bad, we have to look at other parameters.
- MATHEMATICAL EXPECTATION: (% winning trades X average profit) + (% losing trades X average loss).
To earn money with a Trading system, it is not necessary to win all the operations, what is really important is the final result of the operation. A Trading system has to have positive mathematical expectation as is the case with this script: ME = (0.87 x 30.74$) - (0.13 x 56.16$) = (26.74 - 7.30) = 19.44$ > 0
The game of roulette, for example, has negative mathematical expectation for the player, it can have positive winning streaks, but in the long term, if you continue playing you will end up losing, and casinos know this very well.
PARAMETERS
'BACKTEST DAYS': Number of days back of historical data for the calculation of the Backtest.
'ENTRY TYPE': For '% EQUITY' if you have $ 10,000 of capital and select 7.5%, for example, your entry would be $ 750 without leverage. If you select CONTRACTS for the 'BTCUSDT' pair, for example, it would be the amount in 'Bitcoins' and if you select 'CASH' it would be the amount in $ dollars.
'QUANTITY (LEVERAGE 1X)': The amount for an entry with X1 leverage according to the previous section.
'MAXIMUM LEVERAGE': It's the maximum allowed multiplier of the quantity entered in the previous section according to the volume condition.
The settings are for Bitcoin at Binance Futures (BTC: USDTPERP) in 30 minutes.
For other pairs and other timeframes, the settings have to be adjusted again. And within a month, the settings will be different because we all know the market and the trend are changing.
█ 888 BOT (SPANISH)
Este es un Expert Advisor 'EA' o script de trading automatizado para ‘longs’ y ‘shorts’, el cual, utiliza solo un Take Profit o, en el peor de los casos, un Stop Loss para cerrar el trade.
Es una versión muy mejorada del anterior ‘Repanocha’. No utiliza ‘Trailing Stop’, ni funciones ‘security()’ (aunque usar una función security no significa que el script repinte) y todas las señales son confirmadas, por consiguiente, el script no repinta en modo alertas y es preciso en en el modo backtest.
Aparte de los anteriores indicadores se han añadido algunos más y otras funciones para Stop-Loss, de re-entrada y apalancamiento.
Utiliza 8 indicadores, (muchos ya sabéis sobradamente lo que son, pero por si hay alguien nuevo), son los siguientes:
1. Jurik Moving Average
Es una media móvil creada por Mark Jurik para profesionales la cual elimina el ‘lag’ o retardo de la señal. Es mejor que otras medias móviles como la EMA, DEMA, AMA o T3.
Hay dos formas de disminuir el ruido utilizando JMA. El aumento del parámetro 'LENGTH' hará que JMA se mueva más lentamente y, por lo tanto, reducirá el ruido a expensas de añadir ‘lag’
Los parámetros 'JMA LENGTH', 'PHASE' y 'POWER' ofrecen una forma de seleccionar el equilibrio óptimo entre ‘lag’ y sobre impulso.
Verde : Alcista, Rojo: Bajista.
2. Range filter
Creado por Donovan Wall, su función es la de filtrar o eliminar el ruido y poder determinar mejor la tendencia del precio a corto plazo.
Primero, se calcula un rango de precio promedio uniforme 'SAMPLING PERIOD' para la base del filtro y se multiplica por una cantidad específica 'RANGE MULTIPLIER'.
A continuación, el filtro se calcula ajustando los movimientos de precios que no exceden el rango especificado.
Por último, los rangos objetivo se trazan para mostrar los precios que activarán el movimiento del filtro.
Verde : Alcista, Rojo: Bajista.
3. Average Directional Index (ADX Classic) y (ADX Masanakamura)
Es un indicador diseñado por Welles Wilder para medir la fuerza y dirección de la tendencia del mercado. El movimiento del precio tiene fuerza cuando el ADX tiene pendiente positiva y está por encima de cierto nivel mínimo 'ADX THRESHOLD' y para un periodo dado 'ADX LENGTH'.
El color verde de las barras indica que la tendencia es alcista y que el ADX está por encima del nivel establecido por el threshold.
El color Rojo de las barras indica que la tendencia es bajista y que el ADX está por encima del nivel de threshold.
El color naranja de las barras indica que el precio no tiene fuerza y seguramente lateralizará.
Se puede elegir entre la opción clásica y la creada por un tal 'Masanakamura'. La diferencia principal entre los dos es que en el primero utiliza RMA() y en el segundo SMA() en su cálculo.
4. Parabolic SAR
Este indicador, creado también por Welles Wilder, coloca puntos que ayudan a definir una tendencia. El Parabolic SAR puede seguir al precio por encima o por debajo, la particularidad que ofrece es que cuando el precio toca al indicador, este salta al otro lado del precio (si el Parabolic SAR estaba por debajo del precio salta arriba y viceversa) a una distancia predeterminada por el indicador. En este momento el indicador vuelve a seguir al precio, reduciendo la distancia con cada vela hasta que finalmente es tocado otra vez por el precio y se vuelve a iniciar el proceso. Este procedimiento explica el nombre del indicador: el Parabolic SAR va siguiendo al precio generando una característica forma parabólica, cuando el precio lo toca, se para y da la vuelta (SAR son las siglas en inglés de ‘stop and reverse’), dando lugar a un nuevo ciclo. Cuando los puntos están por debajo del precio, la tendencia es alcista, mientras que los puntos por encima del precio indica una tendencia bajista.
5. RSI with Volume
Este indicador lo creo un tal LazyBear de TV a partir del popular RSI.
El RSI es un indicador tipo oscilador utilizado en análisis técnico y creado también por Welles Wilder que muestra la fuerza del precio mediante la comparación de los movimientos individuales al alza o a la baja de los sucesivos precios de cierre.
LazyBear le añadió un parámetro de volumen que lo hace más preciso al movimiento del mercado.
Una buena forma de usar el RSI es teniendo en cuenta la línea central de 50 'RSI CENTER LINE'. Cuando el oscilador está por encima, la tendencia es alcista y cuando está por debajo la tendencia es bajista.
6. Moving Average Convergence Divergence (MACD) y (MAC-Z)
Fue creado por Gerald Appel. Posteriormente se añadió el histograma para anticipar el cruce de medias. A grandes rasgos podemos decir que el MACD es un oscilador consistente en dos medias móviles que van girando en torno a la línea de cero. La línea del MACD no es más que la diferencia entre una media móvil corta 'MACD FAST MA LENGTH' y una media móvil larga 'MACD SLOW MA LENGTH'. Es un indicador que nos permite tener una referencia sobre la tendencia del activo sobre el cual se está operando, generando de este modo señales de entrada y salida del mercado.
Podemos hablar de mercado alcista cuando el histograma del MACD se sitúe por encima de la línea cero, junto con la línea de señal, mientras que hablaremos de mercado bajista cuando el histograma MACD se situará por debajo de la línea cero.
Está la opción de utilizar el indicador MAC-Z creado por LazyBear que según su autor es más eficaz, por utilizar el parámetro VWAP (precio medio ponderado por volumen) 'Z-VWAP LENGTH' junto con una desviación standard 'STDEV LENGTH' en su cálculo.
7. Volume Condition
El volumen indica el número de participantes en esta guerra entre toros y osos, cuanto más volumen más probabilidad de que se mueva el precio a favor de la tendencia. Un volumen bajo de negociación indica un menor número de participantes e interés por el instrumento en cuestión. Los bajos volúmenes pueden revelar debilidad detrás de un movimiento de precios.
Con esta condición se filtran aquellas señales cuyo volumen es inferior a la SMA de volumen para un periodo 'SMA VOLUME LENGTH' multiplicado por un factor 'VOLUME FACTOR'. Además, determina el apalancamiento utilizado, a más volumen, más participantes, más probabilidad de que se mueva el precio a nuestro favor, es decir, podemos utilizar más apalancamiento. El apalancamiento en este script lo determina las veces que está el volumen por encima de la línea de la SMA.
El apalancamiento máximo es de 8.
8. Bollinger Bands
Este indicador fue creado por John Bollinger y consiste en tres bandas que se dibujan superpuestas al gráfico de evolución del precio.
La banda central es una media móvil, normalmente se emplea una media móvil simple calculada con 20 períodos. ('BB LENGTH' Número de periodos de la media móvil)
La banda superior se calcula sumando al valor de la media móvil simple X veces la desviación típica de la media móvil. ('BB MULTIPLIER' Número de veces la desviación típica de la media móvil)
La banda inferior de calcula restando a la media móvil simple X veces la desviación típica de la media móvil.
la franja comprendida entre las bandas superior e inferior contiene, estadísticamente, casi un 90% de las posibles variaciones del precio, lo que significa que cualquier movimiento del precio fuera de las bandas tiene especial relevancia.
En términos prácticos, las bandas de Bollinger se comporta como si de una banda elástica se tratara de manera que, si el precio las toca, éste tiene mucha probabilidad de rebotar.
En ocasiones, después de rellenarse la orden de entrada, el precio se devuelve hacia el lado contrario. Si toca la banda de Bollinger se rellena otra orden en la misma dirección de la posición para mejorar el precio medio de entrada, (% MINIMUM BETTER PRICE': Precio mínimo para que se ejecute la re-entrada y que sea mejor que el precio de la posición anterior en un % dado) de esta manera damos una oportunidad al trade de que el Take Profit se ejecute antes. La desventaja es que se dobla el tamaño de la posición. 'ACTIVATE DIVIDE TP': Divide el tamaño del TP a la mitad. Más probabilidad de que se cierre el trade pero menos ganancias.
█ STOP LOSS y RISK MANAGEMENT.
Una buena gestión de las pérdidas o gestión del riesgo es lo que puede hacer que tu cuenta suba o se liquide en poco tiempo.
El % de riesgo es el porcentaje de nuestro capital que estamos dispuestos a perder por operación. Este se aconseja que debe estar comprendido entre un 1-5%.
% Risk = (% Stop Loss x % Equity per trade x Leverage) / 100
Primero se calcula la estrategia con Stop Loss, después se determina el riesgo por operación y a partir de ahí se calcula el monto por operación y no al revés.
En este script puedes usar un Stop Loss normal o uno según el ATR. También activar la opción de que salte antes si se alcanza el porcentaje de riesgo. '% RISK ALLOWED'
'STOP LOSS CONFIRMED': Solamente se activa el Stop Loss si el cierre de la barra anterior se encuentra en la condición de límite de pérdidas. Es útil para evitar que se dispare el SL cuando hacen un ‘pump’ para barrer Stops y luego se devuelve el precio a la normalidad.
█ BACKTEST
El objetivo del Backtest es evaluar la eficacia de nuestra estrategia. Un buen Backtest lo determinan algunos parámetros como son:
- RECOVERY FACTOR: Consiste en dividir el ‘beneficio neto’ entre el ‘drawdown’. Un excelente sistema de trading tiene un recovery factor de 10 o más; es decir, genera 10 veces más beneficio neto que drawdown.
- PROFIT FACTOR: El ‘Profit Factor’ es otra medida popular del rendimiento de un sistema. Es algo tan simple como dividir lo que ganan las operaciones con ganancias entre lo que pierden las operaciones con pérdidas. Si la estrategia es rentable entonces por definición el ‘Profit Factor’ va a ser mayor que 1. Las estrategias que no son rentables producen factores de beneficio menores que uno. Un buen sistema tiene un profit factor de 2 o más. Lo bueno del ‘Profit Factor’ es que nos dice lo que vamos a ganar por cada dolar que perdemos. Un profit factor de 2.5 nos dice que por cada dolar que perdamos operando vamos a ganar 2.5.
- SHARPE: (Retorno sistema – Retorno sin riesgo) / Desviación de los retornos.
Cuando las variaciones de ganancias y pérdidas son muy altas, la desviación es muy elevada y eso conlleva un ratio de ‘Sharpe’ muy pobre. Si las operaciones están muy cerca de la media (poca desviación) el resultado es un ratio de ‘Sharpe’ bastante elevado. Si una estrategia tiene un ratio de ‘Sharpe’ mayor que 1 es una buena estrategia. Si tiene un ratio de ‘Sharpe’ mayor que 2, es excelente. Si tiene un ratio de ‘Sharpe’ menor que 1 entonces no sabemos si es buena o mala, hay que mirar otros parámetros.
- MATHEMATICAL EXPECTATION:(% operaciones ganadoras X ganancia media) + (% operaciones perdedoras X pérdida media).
Para ganar dinero con un sistema de Trading, no es necesario ganar todas las operaciones, lo verdaderamente importante es el resultado final de la operativa. Un sistema de Trading tiene que tener esperanza matemática positiva como es el caso de este script.
El juego de la ruleta, por ejemplo, tiene esperanza matemática negativa para el jugador, puede tener rachas positivas de ganancias, pero a la larga, si se sigue jugando se acabará perdiendo, y esto los casinos lo saben muy bien.
PARAMETROS
'BACKTEST DAYS': Número de días atrás de datos históricos para el calculo del Backtest.
'ENTRY TYPE': Para % EQUITY si tienes 10000$ de capital y seleccionas 7.5% tu entrada sería de 750$ sin apalancamiento. Si seleccionas CONTRACTS para el par BTCUSDT sería la cantidad en Bitcoins y si seleccionas CASH sería la cantidad en dólares.
'QUANTITY (LEVERAGE 1X)': La cantidad para una entrada con apalancamiento X! según el apartado anterior.
'MAXIMUM LEVERAGE': Es el máximo multiplicador permitido de la cantidad introducida en el apartado anterior según la condición de volumen.
Los settings son para Bitcoin en Binance Futures (BTC:USDTPERP) en 30 minutos.
Para otro pares y otras temporalidades se tienen que ajustar las opciones de nuevo. Además para dentro de un mes, los ajustes serán otros distintos ya que el mercado y la tendencia es cambiante.
Premium Volatility Breakout Strategy [wbburgin]This the premium version of my Volatility Breakout strategy, which improves significantly on the original strategy (publicly available on my profile). Improvements are below. A note about any of my premium scripts: I will continue updating and improving the original (public) versions.
This strategy is not built for any specific asset or timeframe, and has been backtested on crypto, equities, and forex from 1min - 1day. However, I recommend using it on more volatile assets because it is a breakout strategy.
********** My Background
I am an investor, trader, and entrepreneur with 10 years of cryptocurrency and equity trading experience and founder of two fintech startups. I am a graduate of a prestigious university in the United States and carry broad and inclusive interests in mathematical finance, computer science, machine learning / artificial intelligence, as well as other fields.
**********
Improvements over the original Volatility Breakout strategy include:
Faster Trend Detection → The Premium Volatility Breakout strategy will catch trends faster by using adaptive volatility-weighted bands instead of standard-width volatility-weighted bands. This can improve win size and has performed well in my backtesting.
ADX Filter → False breakouts dampen the overall results of the original script, as well as the % profitable,so an ADX filter has been programmed into the script (toggle on/off in settings). This filter will only enter long and short trades when the ADX is above a certain threshold. This is by default toggled off because in most instances it will not be necessary, but in certain environments may be useful.
MA Configuration → Different types of moving averages and weights are now configurable in the settings. These can change the responsiveness of the strategy.
External Trend Filter → I use this strategy as a filter for some of my low-timeframe algorithms. I have added an external trend filter (a plot only displayed in the data window) that will return “1” when the trend is long and “-1” when the trend is short (displayed on-chart with red and green trend curves).
Customizable Alert Messages In-Strategy → In the settings, there will be text boxes where you can create your own alerts. All you will need to do is create an alert in the alert panel on TradingView and leave the message box blank - if you fill out the alert boxes in the settings, these will automatically populate into your alerts. There are in total four different customizable alerts messages: Entry and Exit alerts for both Long and Short sides. If you disable stop loss and/or take profit, these alerts will also be disabled. Similarly, if you disable shorts, all short alerts will be disabled.
About stop losses: This strategy does not come with a stop loss because the moving average acts as a stop loss / trade exit for both long and short entries.
**********
Display
You can turn off highlighting or barcolor in the settings. Additionally, future updates may include a color scheme for users using a light-themed window.
**********
Configuring Alerts
In TradingView desktop, go to the ‘Alerts’ tab on the right panel. Click the “+” button to create a new alert. Select this strategy for the condition and one of the two options that includes alert() function calls. Name the alert what you wish and clear the default message, because your text in the settings will replace this message.
Now that the alert is configured, you can go to the settings of the strategy and fill in your chosen text for the specific alert condition. You will need to check “Long and Short” in the “Trade Direction” setting in order for any Short Alerts to become active.
**********
Disclaimer
Copyright by wbburgin.
The information contained in my Scripts/Indicators/Algorithms does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Auto Harmonic Pattern - Backtester [Trendoscope]We are finally here with the implementation of backtesting tool for Auto-Harmonic-Pattern-UltimateX .
CAUTION: THIS IS NOT A STRATEGY AND SHOULD NOT BE FOLLOWED BLINDLY. WE ENCOURAGE USERS TO UTILISE THIS AS BACKTESTING TOOL FOR BUILDING THEIR STRATEGY BASED ON HARMONIC PATTERNS
This script is based on our premium indicator - Auto-Harmonic-Pattern-UltimateX . In this script, along with implementation of scanning harmonic patterns, we provide various options via settings which enables users to build their own strategy based on harmonic patterns, use them with custom coded filters, backtest them on various tickers and timeframes.
Harmonic Patterns is concept and we can trade harmonic pattern in many ways. While general interest around harmonic patterns is to find reversal zones and use them for short term swing trades. But, using it along trend following strategies can also be very rewarding. Here is one of the educational idea I shared about using harmonic patterns for trend following. These are just few possibilities where users can explore further on how they want to trade this. The settings of this script are crafted in such a way that it enables users to explore all these possibilities.
🎲 Components
Chart components of this script is lighter compared to Auto Harmonic Pattern - UltimateX. This is because we want to keep lighter interface in order to support seamless execution of emulator. Since pine strategy framework does most of the things such as calculating profitability, keeping track of trades and results etc, display with respect to - "Closed Trade Stats" are removed from this script and "Open Trade Stats" are made lighter.
🎲 Settings
🎯 Trade Settings : Few important settings under this section are
Due to pine limitations, we will not be able to support both long and short in a same setup. Hence, users need to chose either long or short trade setup.
Entry/Base/Target play important role in defining your strategy.
Confluence is another important factor which lets users use multiple patterns at once as confirmation.
🎯 Zigzag Settings : Zigzag settings determine the size of patterns being formed.
Please note that smaller patterns may not yield very good results and larger patterns may take time to complete trade. Similarly higher depth can cause runtime issues. Recursive zigzag option is alternative to deep search algorithm.
🎯 Filters :
Filters enable users to select trades based on specific conditions. Ability to use external filter even allows writing and using custom filters to be used with this algorithm. Here is a video which explains how this can be done. HOW-TO-Use-external-filters
Pattern filters allow users to pick and chose patterns they want to trade. This can be done either individually or based on category
🎯 Alerts :
Apart from strategy specific alerts, the script also implements customisable alerts via pine alert() function. Alerts can be configured to send upon three conditions
When new pattern is created
When an existing pattern updates entry/stop/target due to safe repaint of D (Only happens when Trail Entry Price is selected)
When a pattern in trade closes either due to hitting stop or target
Important Note: Alerts fired via this method may not match the trades shown on chart as trades which are controlled via pine strategy emulator depends on various other factors such as pyramiding.
Alert template is customisable and users can make use of available placeholders to get dynamic data in alerts. Valid placeholders are
{alertType} - Alert type - New/Update/Close
{id} - Pattern Id
{ticker} - Ticker
{timeframe} - Chart timeframe
{price} - Current price
{patterns} - Identified pattern names
{direction} - Direction - Long/Short
{entry} - Entry Price
{stop} - Stop Price
{target} - Target Price
{orderType} - Limit/Stop - applicable for only New and Update types
{status} - Trade status. Valid values are Pending/Cancelled/Stopped/Success
Template is common for all custom alert types. Hence, updating the template will impact all custom alerts - New/Update/Close
{
"alert" : "{alertType}",
"id" : {id},
"ticker" : "{ticker}",
"timeframe" : "{timeframe}",
"price" : {price},
"patterns" : "{patterns}",
"direction" : "{direction}",
"entry" : {entry},
"stop" : {stop},
"target" : {target},
"orderType" : {orderType}
"status" : {status}
}
Here is a video on how to customise the alerts using templates and placeholders - HOW-TO-Customize-Alerts-With-Placeholders
🎯 Miscellaneous :
These are simple settings to control display and backtest bars. If you are running alerts, we suggest turning of Open Trades and Drawings and limit backtest to minimal value in order to improve efficiency of
🎯 Backtest Engine Parameters :
Default settings are optimised for trend following. Users are encouraged to play around with settings and filters to build strategy out of this tool.
Position sizing is not leveraged. Margin settings makes sure that trades cannot exceed capital.
All measures are taken to avoid repainting. Script does not use request.security and real time bars. This drastically reduces the risk of repainting in scripts.
If you are premium user, please select "Bar Magnifier".
Strategy BackTest Display Statistics - TraderHalaiThis script was born out of my quest to be able to display strategy back test statistics on charts to allow for easier backtesting on devices that do not natively support backtest engine (such as mobile phones, when I am backtesting from away from my computer). There are already a few good ones on TradingView, but most / many are too complicated for my needs.
Found an excellent display backtest engine by 'The Art of Trading'. This script is a snippet of his hard work, with some very minor tweaks and changes. Much respect to the original author.
Full credit to the original author of this script. It can be found here: www.tradingview.com
I decided to modify the script by simplifying it down and make it easier to integrate into existing strategies, using simple copy and paste, by relying on existing tradingview strategy backtester inputs. I have also added 3 additional performance metrics:
- Max Run Up
- Average Win per trade
- Average Loss per trade
As this is a work in progress, I will look to add in more performance metrics in future, as I further develop this script.
Feel free to use this display panel in your scripts and strategies.
Thanks and enjoy :)
Dynamic Fib StrategyAfter publishing many complex scripts with a myriad of inputs that were confusing for the average user, and after being told my previous publications were overfitted and not easily applied across the board...I spent the past three months working on this masterpiece.
The script is very simple to use, and it MUST be used for timeframes of 10 minutes or more. Please do not use this strategy for lower timeframes thinking that more trades is a desireable trait in a strategy. Patience is a virtue, and it doesn't matter if there are 1000 bars between trades (I am exaggerating here) all crypto is cyclical in a short timeframe of days.
The script is based on moving averages, what is different about this script is that it is the result of months of analysis of the crosses that are key indicators of the best times to trade. It also identifies crosses that indicate when a massive dump is coming and when the dump turns back into a pump. It is designed to be a long strategy with the careful identification of the dump indicators so it preserves your capital and results in a better trade approach.
At the heart of this script is the Sutte MA and the SMA, and only a subset of the settings for these are exposed for user input to keep things simple.
The second key piece of how this script works is the Fibonnaci levels. For the purposes of using this script, the first two levels (Fib 1 and Fib 2) are only for display purposes of the bands and does not affect the triggers for trading. It is only the third and fourth levels which impact the trade triggerers for buying and selling. The idea here is that the best times to execute a trade is when the price moves into the outer bands as these are typical triggers for selloffs from those suffering from FOMO.
Since I have done quite a bit of work here, I do not wish for this script to be copied and pasted into other scripts. It is my coup de grace and there is not a script like this anywhere on TradingView that delves deep into the crosses that matter.
TFs Double Stochastic StrategyThe Strategy script uses Stochastic indicators for entering and exiting a position.
How to use
The strategy works with most timeframes and instruments.
I'm also providing a "study" version of this script, which can be used for automation of the strategy via alerts.
The script is using a default commission of 0.075% which reflects Bitmex' Taker-Fees. This is just a default and can be modified in the strategy settings for each instrument individually.
List of parameters
"Stochastic Length" ... Number of bars for Stochastic indicators
"Stochastic Overbought" ... Stochastic overbought level
"Stochastic Overbought Down Trend" ... Stochastic overbought level for down trends
"Stochastic Oversold Up Trend" ... Stochastic oversold level for up trends
"Stochastic Oversold" ... Stochastic oversold level
"Stochastic Smooth K" ... Stochastic K smoothing
"Stochastic Smooth D" ... Stochastic D smoothing
"MA Filter Enabled" ... Enable an additional filter for entering a position; the entries only follow the overall trend
"Fast Period" ... Fast filter period
"Slow Period" ... Slow filter period
"Backtest ..." ... Backtest timeframe; area outside this timeframe will be grayed out
How to access
This strategy is a "Invite Only" script. Please use the link below or send me a message via Tradingview to obtain access to the strategy and study script.
For enabling the script in your Tradingview chart window, click on "Indicators" and select "Invite-Only Scripts".
All-in-One Solutions - Long/Short StrategyHello,
I always had in mind that a single strategy cannot be profitable on multiple symbols or commodities ...
This is why I created this strategy where different settings can be applied for each of the symbol you use to trade.
For each symbol you trade, the strategy will ask you for 9 parameters to play with. I already filled the settings for several symbol but it is up to you to find the best 9 parameters for the symbol you like to trade and the time frame you usually use (I often use it in 1H).
The script does not allow any repaint and the Trading view back-testing system is reliable.
For exemple if you like to trade ETH/USD, you have to play with the 9 parameters and find the best net profitability calculated by the back-testing of Trading View.
Here is a screenshot of the setting page of the strategy :
imgur.com
You can find also below the link to all the previous scripts I published :
fr.tradingview.com
PS: please do not ask me to add in this strategy an alert system as Trading View does not allow to implement alerts in strategies script (because strategies scripts run on you computer, where alerts are located on TV servers).
Nevertheless if there is a demand, I can develop an indicator where you can implement the best settings found by you in this strategy and use it as an alerts script.
Please ask me for access, I grant free 1 week full access to all my indicators.
Have fun !
Last Update:
- I added the bar color in order to see on the chart the Long and Short positions
- I added the panels Open and Close positions to be visible on the chart
- I added an horizontal line on the chart when a position is open in order to see on the chart if position is positive or negative
- I modified the parameters description in order to make it more clear
I filled nice settings for 5 cryptos. If you find suitable settings for other commodities, please share the parameters into the comment in order to share with the community.
All-in-One Solutions - Long/Short StrategyHello,
I always had in mind that a single strategy cannot be profitable on multiple symbols or commodities...
This is why I created this strategy where different settings can be applied for each of the symbol you use to trade.
For each symbol you trade, the strategy will ask you for 9 parameters to play with. I already filled the settings for several symbol but it is up to you to find the best 9 parameters for the symbol you like to trade and the time frame you usually use (I often use it in 1H).
The script does not allow any repaint and the Trading view back-testing system is reliable.
For exemple if you like to trade ETH/USD, you have to play with the 9 parameters and find the best net profitability calculated by the back-testing of Trading View.
Here is a screenshot of the setting page of the strategy :
imgur.com
You can find also below the link to all the previous scripts I published :
fr.tradingview.com
PS: please do not ask me to add in this strategy an alert system as Trading View does not allow to implement alerts in strategies script (because strategies scripts run on you computer, where alerts are located on TV servers).
Nevertheless if there is a demand, I can develop an indicator where you can implement the best settings found by you in this strategy and use it as an alerts script.
Please ask me for access, I grant free 1 week full access to all my indicators.
Have fun !
Black-Scholes option price model & delta hedge strategyBlack-Scholes Option Pricing Model Strategy
The strategy is based on the Black-Scholes option pricing model and allows the calculation of option prices, various option metrics (the Greeks), and the creation of synthetic positions through delta hedging.
ATTENTION!
Trading derivative financial instruments involves high risks. The author of the strategy is not responsible for your financial results! The strategy is not self-sufficient for generating profit! It is created exclusively for constructing a synthetic derivative financial instrument. Also, there might be errors in the script, so use it at your own risk! I would appreciate it if you point out any mistakes in the comments! I would be even more grateful if you send the corrected code!
Application Scope
This strategy can be used for delta hedging short positions in sold options. For example, suppose you sold a call option on Bitcoin on the Deribit exchange with a strike price of $60,000 and an expiration date of September 27, 2024. Using this script, you can create a delta hedge to protect against the risk of loss in the option position if the price of Bitcoin rises.
Another example: Suppose you use staking of altcoins in your strategies, for which options are not available. By using this strategy, you can hedge the risk of a price drop (Put option). In this case, you won't lose money if the underlying asset price increases, unlike with a short futures position.
Another example: You received an airdrop, but your tokens will not be fully unlocked soon. Using this script, you can fully hedge your position and preserve their dollar value by the time the tokens are fully unlocked. And you won't fear the underlying asset price increasing, as the loss in the event of a price rise is limited to the option premium you will pay if you rebalance the portfolio.
Of course, this script can also be used for simple directional trading of momentum and mean reversion strategies!
Key Features and Input Parameters
1. Option settings:
- Style of option: "European vanilla", "Binary", "Asian geometric".
- Type of option: "Call" (bet on the rise) or "Put" (bet on the fall).
- Strike price: the option contract price.
- Expiration: the expiry date and time of the option contract.
2. Market statistic settings:
- Type of price source: open, high, low, close, hl2, hlc3, ohlc4, hlcc4 (using hl2, hlc3, ohlc4, hlcc4 allows smoothing the price in more volatile series).
- Risk-free return symbol: the risk-free rate for the market where the underlying asset is traded. For the cryptocurrency market, the return on the funding rate arbitrage strategy is accepted (a special function is written for its calculation based on the Premium Price).
- Volatility calculation model: realized (standard deviation over a moving period), implied (e.g., DVOL or VIX), or custom (you can specify a specific number in the field below). For the cryptocurrency market, the calculation of implied volatility is implemented based on the product of the realized volatility ratio of the considered asset and Bitcoin to the Bitcoin implied volatility index.
- User implied volatility: fixed implied volatility (used if "Custom" is selected in the "Volatility Calculation Method").
3. Display settings:
- Choose metric: what to display on the indicator scale – the price of the underlying asset, the option price, volatility, or Greeks (all are available).
- Measure: bps (basis points), percent. This parameter allows choosing the unit of measurement for the displayed metric (for all except the Greeks).
4. Trading settings:
- Hedge model: None (do not trade, default), Simple (just open a position for the full volume when the strike price is crossed), Synthetic option (creating a synthetic option based on the Black-Scholes model).
- Position side: Long, Short.
- Position size: the number of units of the underlying asset needed to create the option.
- Strategy start time: the moment in time after which the strategy will start working to create a synthetic option.
- Delta hedge interval: the interval in minutes for rebalancing the portfolio. For example, a value of 5 corresponds to rebalancing the portfolio every 5 minutes.
Post scriptum
My strategy based on the SegaRKO model. Many thanks to the author! Unfortunately, I don't have enough reputation points to include a link to the author in the description. You can find the original model via the link in the code, as well as through the search indicators on the charts by entering the name: "Black-Scholes Option Pricing Model". I have significantly improved the model: the calculation of volatility, risk-free rate and time value of the option have been reworked. The code performance has also been significantly optimized. And the most significant change is the execution, with which you can now trade using this script.
MZ HTF HFT ROCit Bot - Non Repainting Scalper v1.2 ADX RSI MOM This is a new iteration based on my Momentum trading bot.
This is an original script meant to be a high frequency trader that works on higher time frame calculations.
I came up with the idea that using calculus I can figure out the actual rate of change and momentum with different calculations than the momentum indicator that is provided by trading view. Once momentum is shifted on a small time frame, it will provide an entry signal. The script is meant to be used on an algorithmic trading system for scalping purposes. It should be run on a one minute time frame. Unfortunately due to various plotting constraints in Pinescript, you cannot plot the rate of change and momentum and price in the same pane. To counter this, I have a showdata toggle to give you values of the indicators at each entry.
This version has two main entry settings toggled with a checkbox. There is the ROC (rate of change) version and the MOM (momentum) entry signals.
The rate of change version is meant to take a look at your moving average and try to trigger when it hits a certain rate of change point. This can be helpful if you rather play it safer. I have noticed that you can get slightly better entry points but also does not give you as many entries. The momentum algorithm will give you faster entry points and might work best with a slight offset (use your back test to help you figure it out).
I have started to add tooltips to help you along. If you have suggestions please let me know.
How does it work?
Let's just assume that you are looking at a one minute chart. I recommend using the one minute for bots because it will give you the fastest execution for entries. Pinescript has an issue where the signal is not usually sent until the end of the bar/beginning of next bar. If the signal was triggered at the beginning of a 15 minute bar, it might not actually send the signal until the following 15 minute bar. If you are trading on small time frames, this can make all the difference. If you are using an algo platform that trailing stops, stop losse, take profits, etc. I would recommend you use that platform to close your trade. The close trade message will work, but pinescript does not know the exact entry price you received, so if you are trying to collect small profits, it is best that intermediary platform does that calculation for you. If you are dealing with larger moves, instead of small 1-3% scalps, you are probably fine to use the close message setting from pinescript.
Ok, so to take an example. I like to use the 3L and 3S tokens on Kucoin. This gives you a lot of volatility to work with compared to other tokens and coins. However, it can also meas that you are likely taking a higher risk. However, there are some things that can help with that (more on that later).
So we have a token we want to run, and have it on the 1m chart.
First, be sure that all of your filters are OFF when you start playing with the back test. This allows you to see how to best optimize the bot.
Use the show data to show you additional data when you are backtesting. This can allow you to try to filter out results or market conditions that do not work. I typically work with the RSI and use the 30 minute and 15 minute RSIs. I make sure that it is trading within a certain band - about 40-75. You can try the inverse and only buy during really low RSI's as well.
www.dropbox.com
Find the source of your data with the variant drop down. You can use any time frame, open, close. high, low, olc4. Open is pretty much guaranteed to not have any repainting issues - although all the other calcs use a custom isbarconfirmed security repaint calculation. I have been finding that Open and SMA work well, but feel free to explore. If you use a source like open, close, high, low, etc - the interval will not change anything further. If you use a variant such as an sma, you should try to find an interval that works well for that token. For instance, try an sma of 8-11 minutes and see which gives you the best backtest result without changing anything else. Offset ALMA/LSMA parameters are only used for those specific variants. These specific parameters will also affect the ALMA and LSMA if you use that variant in the trend filter. In other words, you can skip these if you are not using those types of moving averages.
www.dropbox.com
Configure the ROC and MOM intervals. If you are using a source such as open, close, etc- this is where you set the interval for your change. So consider using OHLC4 or a interval of 5 thru 15 and see what works best. The Momentum inverval usually works best in the 2-5 bars. There is a custom calculation I added in to try to filter out false entries as momentum is waning. This calculation works best in 2-5 bar interval.
Configure the trigger point and offset. If you are using rate of change, the best settings will likely be between -1 to 0.5. If you are using momentum, you will likely want -20 to 10. This is where you will notice the entries will shift a bit. Try to find a balance between your backtest settings and actually finding what you thin will be the best entries based on a slight delay from trading view, to algo, to your trading platform. This can likely be a minute (maybe even) or so- so be sure to not get too caught up between the backtest results and be sure to finesse the entries to actually fit nicely - maybe a bar earlier than you would likely think. If your entries are coming in too early, you can use the offset to delay your entry by a few bars. This is both science and an art form- don't get too caught up on the back test results as that is based on having all the data tha already transpired, it's not based on how it will actually perform during deployment.
Take profit and stop loss. This should be self explanatory. This script can toggle between static take profit and a trailing profit. For scalping, you will likely want to limit it below 2% to get a good win ratio. Stop loss should be at least 5-6% for these types of 3L/3S tokens to give the strategy some room to move (if the token goes down 2% before it shoots back up, the price will go down 6%). This does not yield the best R/R ratio from a traditional trader perspective, but the statistical probabilities are in your favor for these events will happen. If you have better ideas for how to set this all up, feel free to contribute your ideas in the comments as we can all learn from each other. You can definitely set a much tighter stop loss with a larger take profit to get a lower win rate but in turn might get much better returns. It's all up to you.
FILTERS www.dropbox.com
These filters require you to know a bit about each indicator and how you want to use them. I will only go over the general idea.
Variant Filter - this is especially useful if you want to trade above a moving average. Say for instance you only want to take trades when we are over the 100 Day moving average. Or above a 30 minute, 30 bar EMA, etc. Although originally ported over from my other scripts, this is not a filter that I use often in conjunction with this script.
RSI - perhaps you want to buy when we are below the 30 line on the 30 minute RSI, or we want only want to have the strategy work when we are above the 50 RSI, this can all be configured here. I typically like to try a few different rationales here.
Now with brand NEW ADX filter - this is a brand new idea that seems to work rather well. Based on your ADX settings you can also turn on the "only uptrend" which will try to calculate if you are in an uptrend based on your ADX config. Please keep in mind that uptrend is based relatively on the ADX settings.
- There is a sprinkle of RSI magic in the entry signal to make sure that rsi is not declining in the calculation, so this can affect how many entries you get.
Some other tips:
Forward test.
Set up your algo bot on a one minute interval.
Set up take profit and stop loss on your algo trading platform.
Don't use the exact settings as your backtest, maybe try a slightly more conservative approach from the algo trading platform to make sure you are within range of triggering your events with a slight delay from signal to execution. If you have a 1.6% take profit, perhaps try 1.5% on your platform first.
By using these scripts you agree that you are trading at your own risk. I make no guarantees of returns or results. I just provide tools to help you trade better. However, I hope this ROCit will take you to the moon. And if it does, be sure to give me a shout as well as some tips of your own.
Send me a message with any questions or suggestions.
How to use Leverage and Margin in PineScriptEn route to being absolutely the best and most complete trading platform out there, TradingView has just closed 2 gaps in their PineScript language.
It is now possible to create and backtest a strategy for trading with leverage.
Backtester now produces Margin Calls - so recognizes mid-trade drawdown and if it is too big for the broker to maintain your trade, some part of if will be instantly closed.
New additions were announced in official blogpost , but it lacked code examples, so I have decided to publish this script. Having said that - this is purely educational stuff.
█ LEVERAGE
Let's start with the Leverage. I will discuss this assuming we are always entering trades with some percentage of our equity balance (default_qty_type = strategy.percent_of_equity), not fixed order quantity.
If you want to trade with 1:1 leverage (so no leverage) and enter a trade with all money in your trading account, then first line of your strategy script must include this parameter:
default_qty_value = 100 // which stands for 100%
Now, if you want to trade with 30:1 leverage, you need to multipy the quantity by 30x, so you'd get 30 x 100 = 3000:
default_qty_value = 3000 // which stands for 3000%
And you can play around with this value as you wish, so if you want to enter each trade with 10% equity on 15:1 leverage you'd get default_qty_value = 150.
That's easy. Of course you can modify this quantity value not only in the script, but also afterwards in Script Settings popup, "Properties" tab.
█ MARGIN
Second newly released feature is Margin calculation together with Margin Calls. If the market goes against your trades and your trading account cannot maintain mid-trade drawdown - those trades will be closed in full or partly. Also, if your trading account cannot afford to open more trades (pyramiding those trades), Margin mechanism will prevent them from being entered.
I will not go into details about how Margin calculation works, it was all explainged in above mentioned blogpost and documentation .
All you need to do is to add two parameters to the opening line of your script:
margin_long = 1./30*50, margin_short = 1./30*50
Whereas "30" is a leverage scale as in 30:1, and "50" stands for 50% of Margin required by your broker. Personally the Required Margin number I've met most often is 50%, so I'm using value 50 here, but there are literally 1000+ brokers in this world and this is individual decision by each of them, so you'd better ask yourself.
--------------------
Please note, that if you ever encounter a strategy which triggers Margin Call at least once, then it is probably a very bad strategy. Margin Call is a last resort, last security measure - all the risks should be calculated by the strategy algorithm before it is ever hit. So if you see a Margin Call being triggred, then something is wrong with risk management of the strategy. Therefore - don't use it!
TradeChartist PowerTracer Pro Backtester™TradeChartist PowerTracer Pro Backtester is the strategy script for backtesting ™TradeChartist PowerTracer Pro for best performance settings which can then be used with ™TradeChartist PowerTrader Pro to plot Trades emulating the backtester and use Alerts (once per bar) on real time price chart.
PowerTracer Backtester includes the following options in the settings.
PowerTracer setting - Power Plot Type - (PowerTracer, Bar-wise Power Holder)
PowerTracer setting - Timeframe Multiplier
PowerTracer setting - Smoothing Factor
Backtester setting - Trade Direction - (Both Longs and Shorts, Only Longs, Only Shorts)
Backtester setting - SL Type (Fixed Stop Loss, Trailing Stop Loss)
Backtester setting - Reference for Trailing SL (Close, High/Low)
Backtester setting - Stop Loss %
Backtester setting - Take Profit %
Backtester setting - Quantity to trade at TP %
Using combinations of the settings, the user can find optimal settings for the asset to deliver lucrative entry and exit signals with high ROI and minimal Drawdown which can then be used on PowerTracer Pro and PowerTrader Pro to plot signals and create alerts to start trading in real-time.
Example charts:
GBP-USD 1hr chart - (2,1,Trailing SL, close, 1,1,25)
BTC-USDT 15m chart - (4,5, Trailing SL, high/low, 3.9,1.2,15)
SPX 1hr chart - (1,3, Trailing SL, high/low, 3, 2, 50)
This backtester needs the following scripts to generate signals and plots on main price chart and for real-time alerts
™TradeChartist PowerTracer Pro
™TradeChartist PowerTrader Pro
===================================================================================================================
This is not a free to use indicator. Get in touch with me (PM me directly if you would like trial access to test the indicator)
Premium Scripts - Trial access and Information
Trial access offered on all Premium scripts.
PM me directly to request trial access to the scripts or for more information.
===================================================================================================================
TFs Pivot Reversal StrategyThe Pivot Reversal strategy script uses pivot points to create a support and resistance level; based on this levels the strategy creates virtual stop-market orders to catch the trend if the price is crossing the pivot lines.
A configurable trailing-stop and stop-loss is being used to exit an open position.
How to use
The strategy works with all timeframes; the current chart setting is using a 15min timeframe. The strategy enters about 10 trades per day, depending on the used settings.
I'm also providing a "study" version of this strategy, which can be used to automate the strategy by using webhooks for instance.
The script is using a default commission of 0.075% which reflects Bitmex' Taker-Fees. This is just a default and can be modified in the strategy settings for each instrument individually.
How to access
This strategy is a "Invite Only" script. You can can subscribe or purchase the strategy ; please use the link below or send me a message via Tradingview to obtain access to the strategy and study script.
For enabling the script in your Tradingview chart window, click on "Indicators" and select "Invite-Only Scripts".
Full list of parameters:
"Pivot Left Bars" ... Number of bars on the left of the pivot point - used for pivot/peak detection
"Pivot Right Bars" ... Number of bars on the right of the pivot point - used for pivot/peak detection
"Entry Offset " ... Entry price offset after crossing pivot line (in %)
"Trailing Activation Level " ... Trailing stop activation level above/below average price (in %)
"Trailing Offset " ... Trailing stop price (in %)
"Stop Loss " ... Absolute stop-loss (in %)
"Capital Risk Factor " ... Capital risk factor (in %)
"Margin / Leverage " ... Optional leverage factor which can be used to leverage position (in %)
"Backtest ..." ... Backtest timeframe; area outside this timeframe will be grayed out
I'm looking forward to any feedback, reviews or change requests!
BitBell - EMA PullBack RSI EXO
🔵 Introduction
Version 1.1
This is a Pine 5 trend following strategy. It has a four strategy with several alerts and signals. The design intent is to produce a commercial grade signal generator that can be adapted to any symbol in cryptocurrency and only 1H Chart. Ideally, the script is reliable enough to be the basis of an automated trading system web-hooked to a server with API access to crypto brokerages. The strategy can be run in three different modes: long, short and bidirectional.
As a trend following strategy, the behavior of the script is to buy on strength and sell on weakness. As such the trade orders maintain its directional bias according to price pressure. What you will see on the chart is long positions on the left side of the mountain and short on the right. Long and short positions are not intermingled as long as there exists a detectable trend. This is extremely beneficial feature in long running bull or bear markets. The script uses multiple setups to avoid the situation where you got in on the trend, took a small profit but couldn’t get back in because the logic is waiting for a pullback or some other intricate condition.
Deep draw-downs are a characteristic of trend following systems and this system is no different. However, this script makes use of the TradingView pyramid feature with three NPUs to find better place and even you can change drop percentage in settings for another trigger, accessible from the properties tab.
When trend market break it will stop the trade and usually it takes 2-4 percent loss but don't worry it has prefect money management and you can use it for Futures market and even Spot market.
🔵 Design
This script uses twelve indicators on two time frames. The chart (primary) interval and one higher time frame which is based on the primary. The higher time frame identifies the trend for which the primary will trade. I’ve tried to keep the higher time frame around five times greater than the primary. The original trading algorithms are a port from a much larger program on another trading platform. I’ve converted some of the statistical functions to use standard indicators available on TradingView. The setups make heavy use of the Hull Moving Average in conjunction with EMAs that form the Bill Williams Alligator as described in his book “New Trading Dimensions” Chapter 3. Lag between the Hull and the EMAs form the basis of the entry and exit points. The alligator itself is used to identify the trend main body.
The entire script is around 740 lines of Pine code which is the maximum incidental size given the TradingView limits: local scopes, run-time duration and compile time. I’ve been working on this script for over a year and have tested it on various instruments stock crypto. It performs well on higher liquidity markets that have at least a year of historical data. Though it can be configured to work on any interval between 15 minutes and 4 hour, trend trading is generally a longer term paradigm. For day trading the 10 to 15 minute interval will allow you to catch momentum breakouts. For intraweek trades 30 minutes to 1 hour should give you a trade every other a day.
Inputs to the script use cone centric measurements in effort to avoid exposing adjustments to the various internal indicators. The goal was to keep the inputs relevant to the actual trade entry and exit locations as opposed to a series of MA input values and the like. As a result the strategy exposes over 12 inputs grouped into long or short sections. Inputs are available for the usual minimum profit and stop-loss as well as trade, modes, presets, reports and lots of calibrations. The inputs are numerous, I’m aware. Unfortunately, at this time, TradingView does not offer any other method to get data in the script. The usual initialization files such as cnf, cfg, ini, json and xml files are currently unsupported.
Example configurations for various instruments along with a detailed PDF user manual is available.
it has no repaint i guaranty this, and you can have 10 days free with comment and check it by yourself
One issue that comes up when comparing the strategy with the study is that the strategy trades show on the chart one bar later than the study. This problem is due to the fact that “strategy.entry()” and “strategy_close()” do not execute on the same bar called. The study, on the other hand, has no such limitation since there are no position routines. However, alerts that are subsequently fired off when triggered in the study are dispatched from the TradingView servers one bar later from the study plot. Therefore the alert you actually receive on your cell phone matches the strategy plot but is one bar later than the study plot.
Please be aware that the data source matters. Cryptocurrency has no central tick repository so each exchange supplies TradingView its feed. Even though it is the same symbol the quality of the data and subsequently the bars that are supplied to the chart varies with the exchange. This script will absolutely produce different results on different data feeds of the same symbol. Be sure to backtest this script on the same data you intend to receive alerts for. Any example settings I share with you will always have the exchange name used to generate the test results.
🟡 Usage
It sends long and short signals with pyramid orders of up to 3, meaning that the strategy can trigger up to 3 orders in the same direction. Good risk and money management.
It's important to note that the strategy combines 2 systems working together (Long and LongX). Let’s describe the specific features of this strategy.
🔵 If Findes Supports And Ressitances And Trend Lines As Best As It Can, And You Can See:
🟢 Frist Simple Long Condition = It Look At The Trend Wait For RSI Cross 30 Number Then Ckeck Risk To Reward, check something else such as divergence:
🟢 Another Long Example:
🔴 Frist Simple Short Condition = It Look At The Trend Wait For RSI Cross 70 Number Then Ckeck Risk To Reward, check something else such as divergence:
🔴 Another Short Example:
The following steps provide a very brief set of instructions that will get you started but will most certainly not produce the best backtest. A trading system that you are willing to risk your hard earned capital will require a well crafted configuration that involves time, expertise and clearly defined goals. As previously mentioned, I have several example configs that I use for my own trading that I can share with you along with a PDF which describes each input in detail. To get hands on experience in setting up your own symbol from scratch please follow the steps below.
The input dialog box contains over 12 inputs, There are four options must to be configured: Choose Target, side, Choose Settings, Money Management,and settings that apply to both. The following steps address these four main options only.
Money Management System For Leverage 10:
Bot Finds Last Lower Low And Calculate Distance From Entry Price, Then Cross It To Initial Capitan And Cross Leverage =>
Position_Size = (((1.64) * (initial Capital)) * (leverage))
And Check Dominances Too For Getting Best Money Management Result
🔵 Settings
* Side, You Can Set Long Or Short Or Both.
* Choose Target, You Can Set One Target Or All Targets.
* Money Management, You Can ON Or OFF It, With OFF You Can USE It For SPOT Trades.
* Choose Settings, In This Field You Can Set Mathematical Optimization, Ddepends On Which Pair You USE.
* Clear With Daily PullBack?, With This Check Box You Can Clear Signals With Daily PullBack.
* Long X, You Can Set Long Leverage.
* Short X, You Can Set Short Leverage.
* Second Order X, You Can Set Pyramiding Leverage.
* Target Long, You Can Set Percent For Long Target.
* Target Short, You Can Set Percent For Short Target.
* Short Martin Percent, You Can Set Short Martingale Percent.
* Long Martin Percent, You Can Set Long Martingale Percent.
🟡 Pyraming 3
🟡 Commission Is 0.065 %
🟡 Slippage Is 10 ticks
🔴Only Use For 1 Hour Chart
🔴 CONCLUSION
We believe that success lies in the association of the user with the indicator, opposed to many traders who have the perspective that the indicator itself can make them become profitable. The reality is much more complicated than that.
The aim is to provide an indicator comprehensive, customizable, and intuitive enough that any trader can be led to understand this truth and develop an actionable perspective of technical indicators as support tools for decision making.
🔴 RISK DISCLAIMER
Trading is risky & most day traders lose money. All content, tools, scripts, articles, & education provided by BitBell are purely for informational & educational purposes only. Past performance does not guarantee future results.
Risk Management and Positionsize - MACD exampleMastering Risk Management
Risk management is the cornerstone of successful trading, and it's often the difference between turning a profit and suffering a loss. In light of its importance, I share a risk management tool which you can use for your trading strategies. The script not only assists in position sizing but also comes with built-in technical features that help in market timing. Let's delve into the nitty-gritty details.
Input Parameter: MarginFactor
One of the key features of the script is the MarginFactor input parameter. This element lets you control the portion of your equity used for placing each trade. A MarginFactor of -0.5 means 50% of your total equity will be deployed in placing the position size. Although Tradingview has a built-in option to adjust position sizing in a same way, I personally prefer to have the logic in my pinecode script. The main reason is userexperience in managing and testing different settings for different charts, timeframes and instruments (with the same strategy).
Stoploss and MarginFactor
If your strategy has a 4% stop-loss, you can choose to use only 50% of your equity by setting the MarginFactor to -0.5. In this case, you are effectively risking only 2% of your total capital per trade, which aligns well with the widely-accepted rule of thumb suggesting a 1-2% risk per trade. Similar if your stoploss is only 1% you can choose to change the MarginFactor to 1, resulting in a positionsize of 200% of your equity. The total risk would be again 2% per trade if your stoploss is set to 1%.
Max Drawdown and MarginFactor
Your MarginFactor setting can also be aligned with the maximum drawdown of your strategy, seen during a backtested period of 2-3 years. For example, if the max drawdown is 15%, you could calibrate your MarginFactor accordingly to limit your risk exposure.
Option to Toggle Number of Contracts
The script offers the option to toggle between using a percentage of equity for position sizing or specifying a fixed number of contracts. Utilizing a percentage of equity might yield unrealistic backtest results, especially over longer periods. This occurs because as the capital grows, the absolute position size also increases, potentially inflating the accumulated returns generated by the backtester. On the other hand, setting a fixed number of contracts as your position size offers a more stable and realistic ROI over the backtested period, as it removes the compounding effect on position sizes.
Key Features Strategy
MACD High Time Frame Entry and Exit Logic
The strategy employs a high time frame MACD (Moving Average Convergence Divergence) to make entry and exit decisions. You can easily adjust the timeframe settings and MACD settings in the inputsection to trade on lower timeframes. For more information on the HTF MACD with dynamic smoothing see:
Moving Average High Time Frame Filter
To reduce market 'noise', the strategy incorporates a high time frame moving average filter. This ensures that the trades are aligned with the dominant market trend (trading the trend). In the inputsection traders can easily switch between different type of moving averages. For more information about this HTF filter see:
Dynamic Smoothing
The script includes a feature for dynamic smoothing. The script contains The timeframeToMinutes(tf) function to convert any given time frame into its equivalent in minutes. For example, a daily (D) time frame is converted into 1440 minutes, a weekly (W) into 10,080 minutes, and so forth. Next the smoothing factor is calculated by dividing the minutes of the higher time frame by those of the current time frame. Finally, the script applies a Simple Moving Average (SMA) over the MACD, SIGNAL, and HIST values, MA filter using the dynamically calculated smoothing factor.
User Convenience: One of the major benefits is that traders don't need to manually adjust the smoothing factor when switching between different time frames. The script does this dynamically.
Visual Consistency: Dynamic smoothing helps traders to more accurately visualize and interpret HTF indicators when trading on lower time frames.
Time Frame Restriction: It's crucial to note that the operational time frame should always be lower than the time frame selected in the input sections for dynamic smoothing to function as intended.
By incorporating this dynamic smoothing logic, the script offers traders a nuanced yet straightforward way to adapt High Time Frame indicators for lower time frame trading, enhancing both adaptability and user experience.
Limitations: Exit Strategy
It's crucial to note that the script comes with a simplified exit strategy, devoid of features like a stop-loss, trailing stop-loss or multiple take profits. This means that while the script focuses on entries and risk management, it might result in higher losses if market conditions unexpectedly turn unfavorable.
Conclusion
Effective risk management is pivotal for trading success, and this TradingView script is designed to give you a better idea how to implement positions sizing with your preferred strategy. However, it's essential to note that this tool should not be considered financial advice. Always perform your due diligence and consult with financial advisors before making any trading decisions.
Feel free to use this risk management tool as building block in your trading scripts, Happy Trading!
Yield Ratio ViewerUtilizes for yield and buy hold positions using the "Volume & Intraday Script" as well as the acculturation and distribution views script. The point of this is to backtest long holds for past strategies in a trading script. Math and logic still would need to be added with higher frequency to make this more efficient with the script that you would be utilizing for trading. This should work well for both cryptocurrency and forex trading as well as binary options bots that follow the modulus formula.
Multiband - Market TimerThis strategy is made for market timing in the bull markets. Hence, more ideal to use it with index ETFs or high conviction large caps.
This makes use of different custom indicators:
Multi Band Channel - Overbought/Oversold Oscillator
VixFix Linear regression
Regular Linear Regression.
Multi Band Oscillator is used for identifying overbought/oversold state of the instrument. This is used in conjunction with VIXFix Linear Regression to to find market bottoms for entry conditions.
Few parameters are explained below:
CheckBandDistance - If checked checks for narrow bands and ignore signals when crossover happens in narrow bands.
ConsiderOversoldDaysCounter/ConsiderOverboughtDaysCounter - If checked, considers oversold and overbought crossovers only if instrument stays in oversold/overbought state for that many bars.
UseLinearRegressionToOpen/UseLinearRegressionToClose - If checked, combines linear regression along with overbought/oversold condition for entry and exits.
UseVixFixToOpen - Uses VixFixLinear regression to identify market bottom and this condition will be combined with oversold/overbought state. When using VixFixLinearRegression signal, we can allow generating entry signals during non crossover bars. Vix Fix Entry Range sets the max bar for multi band state to be for generating signal. For example, if Vix Fix Entry Range is set to oversold, signal is generated based on VixFix if price is below oversold.
ExitStrategy - This can be trailing/reversal or combined. If set to reversal, exit will happen on state moving out of oversold region. If set to Trailing, stop will be based on trailing stops. Indicator shows what is the present stop value. If set to combined, exit will happen on stages. 30% of the remaining position gets closed upon reversals. State may go into oversold and return back many times before having full exit. If this happens, each time, 30% of the position will be closed. Full position closure happens on hitting training stop.
Candles are colored based on linear regression.
Green -> positive and moving up
Lime -> Positive moving down
Orange -> Negative moving up
Red -> Negative moving down
Purple -> Possible VixFix peak - aka Market bottom
Another snapshot of the script along with Linear regression and VIXFix-LinReg indicators:
Related scripts are found here:
I have not put additional indicators to identify trend. But, can be combined with higher timeframe trend filters to generate better signals. Making this as invite only script as I find it very lucrative to time index ETFs. Please PM me if you want to try this script.
Heikin Ashi Margin Scalping script for BitmexA script made for a lot of trades (scalping) and good solid profits on the Tested and it generates very attractive profits. Test it for yourself.
- Made for BITCOIN / US DOLLAR PERPETUAL INVERSE SWAP CONTRACT XBTUSD on Bitmex.
- Only 40% of these trades are profitable, but within this 40 percent, it catches all the spikes and lows. And therefore a lot more profit then loss. The most loss is generated at the moment BTC is falling still and there is not a lot of volatility.
- I use it to create alerts and sent these to my bot, so i don't have to do manual trading.
You can ask for access and try this strategy for yourself for 5 days. When you are convinced and want to have the script with alerts to be shared with you, I ask for a small donation of 0.02 BTC. This allows me to create other scripts and to improve this script.
I only sell this script to 50 people, so that it remains exclusive.
[Autoview][BackTest]Dual MA Ribbons R0.12 by JustUncleLThis is an implementation of a strategy based on two MA Ribbons, a Fast Ribbon and a Slow Ribbon. This strategy can be used on Normal candlestick charts or Renko charts (if you are familiar with them).
The strategy revolves around a pair of scripts: One to generate alerts signals for Autoview and one for Backtesting, to tune your settings.
The risk management options are performed within the script to set SL(StopLoss), TP(TargetProfit), TSL(Trailing Stop Loss) and TTP (Trailing Target Profit). The only requirement for Autoview is to Buy and Sell as directed by this script, no complicated syntax is required.
The Dual Ribbons are designed to capture the inferred behavior of traders and investors by using two groups of averages:
> Traders MA Ribbon: Lower MA and Upper MA (Aqua=Uptrend, Blue=downtrend, Gray=Neutral), with center line Avg MA (Orange dotted line).
> Investors MAs Ribbon: Lower MA and Upper MA (Green=Uptrend, Red=downtrend, Gray=Neutral), with center line Avg MA (Fuchsia dotted line).
> Anchor time frame (0=current). This is the time frame that the MAs are calculated for. This way 60m MA Ribbons can be viewed on a 15 min chart to establish tighter Stop Loss conditions.
Trade Management options:
Option to specify Backtest start and end time.
Trailing Stop, with Activate Level (as % of price) and Trailing Stop (as % of price)
Target Profit Level, (as % of price)
Stop Loss Level, (as % of price)
BUY green triangles and SELL dark red triangles
Trade Order closed colour coded Label:
>> Dark Red = Stop Loss Hit
>> Green = Target Profit Hit
>> Purple = Trailing Stop Hit
>> Orange = Opposite (Sell) Order Close
Trade Management Indication:
Trailing Stop Activate Price = Blue dotted line
Trailing Stop Price = Fuschia solid stepping line
Target Profit Price = Lime '+' line
Stop Loss Price = Red '+' line
Dealing With Renko Charts:
If you choose to use Renko charts, make sure you have enabled the "IS This a RENKO Chart" option, (I have not so far found a way to Detect the type of chart that is running).
If you want non-repainting Renko charts you MUST use TRADITIONAL Renko Bricks. This type of brick is fixed and will not change size.
Also use Renko bricks with WICKS DISABLED. Wicks are not part of Renko, the whole idea of using Renko bricks is not to see the wick noise.
Set you chart Time Frame to the lowest possible one that will build enough bricks to give a reasonable history, start at 1min TimeFrame. Renko bricks are not dependent on time, they represent a movement in price. But the chart candlestick data is used to create the bricks, so lower TF gives more accurate Brick creation.
You want to size your bricks to 2/1000 of the pair price, so for ETHBTC the price is say 0.0805 then your Renko Brick size should be about 2*0.0805/1000 = 0.0002 (round up).
You may find there is some slippage in value, but this can be accounted for in the Backtest by setting your commission a bit higher, for Binance for example I use 0.2%
Special thanks goes to @CryptoRox for providing the initial Risk management Framework in his "How to automate this strategy for free using a chrome extension" example.